<template>
<!-- 用户展示列表 -->
    <div class="row">
      <div class="card" 
        v-for="user in info.users" 
        :key="user.login"
        v-show="info.users.length"
      >
        <a :href="user.html_url" target="_blank">
          <img :src="user.avatar_url" style='width: 100px'/>
        </a>
        <p class="card-text">{{ user.login }}</p>
      </div>
      <!-- 欢迎信息 -->
      <h1  v-show="info.isFirst">欢迎使用Github用户检索功能</h1>
      <!-- 加载提示 -->
      <h1 v-show="info.isLoading">加载中...请稍后</h1>
      <!-- 错误提示 -->
      <h1 v-show="info.errorMsg">{{ info.errorMsg }}</h1>

    </div>
</template>

<script>
import emitter from '../eventBus'
import {ref, onMounted, onUnmounted, reactive } from 'vue'
export default {
    name:'List',
    setup(){
      const info = reactive({
        users:[],
        isFirst:true,
        isLoading:false,
        errorMsg:''
      })
      onMounted(()=>{
        emitter.on('sendUserList',obj=>{
        console.log("List接收Search消息",obj)
        Object.assign(info, obj)
      })
      })
      onUnmounted(()=>{
        emitter.off('sendUserList')
      })
      return {
        info
      }
    }
}
</script>

<style>
  .album {
    min-height: 50rem; /* Can be removed; just added for demo purposes */
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-color: #f7f7f7;
  }

.card {
  float: left;
  width: 33.333%;
  padding: .75rem;
  margin-bottom: 2rem;
  border: 1px solid #efefef;
  text-align: center;
}

.card > img {
  margin-bottom: .75rem;
  border-radius: 100px;
}

.card-text {
  font-size: 85%;
}
</style>